struct WxLoginRequest{
    1: string wx_code(api.body="wx_code");  // 微信小程序侧的登陆码
}

struct WxRegisterRequest{
    1: string wx_code(api.body="wx_code");  // 微信小程序侧的登陆码, 必填
    2: string username(api.body="username"); // 用户姓名, 如果无, 则随机生成一个
    3: string head_url(api.body="head_url"); // 用户头像, 如果无，则随机生成一个
    5: string encrypt_data(api.body="encrypt_data"); // 加密数据
    6: string iv(api.body="iv"); // 加密向量
}

struct WxRegisterResponse{
    1: Meta meta;
    2: string token;
    3: i64 token_expired_at; // token的过期时间戳
}

struct WxLoginResponse{
    1: Meta meta;
    2: string token;
    3: i64 token_expired_at; // token的过期时间戳
}

struct Meta{
    1: i32 code;    // 业务自定义的返回值, 0为成功, 其他情况为失败(20018为未登录)
    2: string msg;
}

struct User{
    1: i64 user_id;              // 用户id
    2: string nickname;          // 用户名
    3: string head_url;          // 用户头像
}

struct ProfileMeResponse{
    1: Meta meta;
    2: User user;
}

struct ProfileMeRequest{
}

service UserCenter{
    // 用户登陆接口
    WxLoginResponse WxLogin(1: WxLoginRequest req)(api.post="/nearby/user_center/wx_login")
    // 用户注册
    WxRegisterResponse WxRegister(1: WxRegisterRequest req)(api.post="/nearby/user_center/wx_register")
    // 获取用户基本信息
    ProfileMeResponse ProfileMe(1: ProfileMeRequest req)(api.get="/nearby/profile/me")
}